package com.gitee.cirnochat.file.model.dto;

import com.gitee.cirnochat.file.model.entity.FileStorageRecord;
import com.gitee.cirnochat.file.model.enums.FileType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 文件上传结果
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public  class FileUploadResultDTO {
    /**
     * 上传的文件id
     */
    private Long fileId;

    /**
     * 上传的文件url
     */
    private String fileUrl;

    /**
     * 文件名称
     */
    private String fileName;

    /**
     * 文件大小
     */
    private Long fileSize;

    /**
     * 文件类型
     */
    private FileType fileType;

    /**
     * 文件后缀名
     */
    private String extension;

    /**
     * 文件MD5值
     */
    private String md5;

    public FileUploadResultDTO(FileStorageRecord record, String fileName) {
        this.fileId = record.getId();
        this.fileUrl = record.getFileUrl();
        this.fileName = fileName + '.' + record.getFileExt();
        this.fileSize = record.getFileSize();
        this.fileType = record.getFileType();
        this.extension = record.getFileExt();
        this.md5 = record.getFileMd5();
    }
}
